/**
 * @模块名：demo
 * @包名：com.example.demo
 * @描述：SocketClinet.java
 * @版本：1.0
 * @创建人：李凯
 * @创建时间：2021年1月13日下午4:58:41
 */
package com.example.demo;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 * @模块名：demo
 * @包名：com.example.demo
 * @类名称：SocketClinet
 * @类描述：
 * @版本：1.0
 * @创建人：李凯
 * @创建时间：2021年1月13日下午4:58:41
 */
public class SocketClinet {
	public static void main(String[] args) {
		BufferedReader br = null;
		BufferedWriter bw = null;
		OutputStream os = null;
		InputStream is = null;
		Socket s = null;
		try {
			s = new Socket("127.0.0.1", 8081);
			// 构建IO
			is = s.getInputStream();
			os = s.getOutputStream();
			bw = new BufferedWriter(new OutputStreamWriter(os));
			// 向服务器端发送一条消息
			bw.write("测试客户端和服务器通信，服务器接收到消息返回到客户端\n");
			bw.flush();
			// 读取服务器返回的消息
			br = new BufferedReader(new InputStreamReader(is));
			String mess = br.readLine();
			System.out.println("服务器：" + mess);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (os != null)
					os.close();
				if (bw != null)
					bw.close();
				if (br != null)
					br.close();
				if (is != null)
					is.close();
				if (s != null)
					s.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
